--- 战斗主类
---
--- @class TeamFight
TeamFight = Class("TeamFight")
local TeamFight = TeamFight

--- @public
--- @return TeamFight
function TeamFight:ctor(team, site)
    ---@type number AtomicInteger
    self.ids = "";

    self.idsForTeam = "";

    --战斗服 战报的存储策略 {@link xiaoniu.fszx.module.fight.ReportSaveTypeEnum}*/
    --private int reportSaveTypeEnum = ReportSaveTypeEnum.TYPE_DEFAULT.getId();
    ----随机*/
    --private transient Random random;

    --当前回合 */
    ---@type numbe
    self.round = 1;
    --最大回合数 */
    ---@type numbe
    self.maxRound = 9990;
    --结束标识 */
    ---@type numbe
    self.finish = 0;

    --- @type FightTeam
    ---@type table<number,FightTeam>
    self.fightTeams = {};

    --当前回合要出手的 对象 维护在这里是,是复用这个list, 免得每回合都做垃圾回收*/
    --- @type Fighter
    ---@type table<number,Fighter>
    self.actionFighters = {};

    --命中率等级压制系数 */
    ---@type numbe
    self.hitrate_suppress = 0;
    --等级压制系数 */
    ---@type numbe
    self.damage_suppress = 0;

    --游戏中执行的行为*/
    ---@type table<number,table<number,table>>
    self.actions = {};
    --游戏中每帧执行的行为*/
    self.frameInfo = {};
    --[[
    * 战斗延时事件
    * <事件作用帧数, <事件>>
    ]]
    --private transient Map<Integer, ArrayList<IFightDelayedEvent>> events = new HashMap<>();
    --[[
    * 战斗触发事件
    * <事件触发时机, <事件触发角色, <事件触发ID, 事件>>>
    */]]
    --private transient Map<Integer, Map<Integer, LinkedList<IFightEventListener>>> eventListeners = new HashMap<>();



    --message = "[{}]" + message;
    --Object[] newParams = new Object[parameters.length + 1];
    --newParams[0] = getFrame();
    --System.arraycopy(parameters, 0, newParams, 1, parameters.length);
    --
    --getLog().info(message, newParams);
end
function self:getFrame()
    return round;
end

function self:random(value)
    --int nextInt = getRandom().nextInt(value);
    --return nextInt;
end

--[[
* 战报保存位置
* @return
--*/]]
--function self:reportSavePath( serverId) {
--String savePath = ""+ getFightId();
--int reportSaveTypeEnum = getReportSaveTypeEnum();
--ReportSaveTypeEnum saveTypeEnum = ReportSaveTypeEnum.valueOf(reportSaveTypeEnum);
--if (saveTypeEnum != null && !StringUtils.isEmpty(saveTypeEnum.getReportPath())){
--savePath = saveTypeEnum.getReportPath() + getFightId();
--}
--return serverId+"/"+savePath;
--}

----
--* 记录战斗日志
--*
--* @param
--* @param parameters
--*/
--public void log(String message, Object... parameters) {
--if (!isDebug()) {
--return;
--}
--
--LogUtil.openLog(this);
--if (getLog() == null) {
--return;

